HA$PBExportHeader$uo_rutas.sru
forward
global type uo_rutas from nonvisualobject
end type
end forward

global type uo_rutas from nonvisualobject
end type
global uo_rutas uo_rutas

type variables
string is_directorio_actual
end variables

forward prototypes
public function integer of_cambiar_directorio (string directorio)
public function string of_ini (string nombre, string seccion, string linea)
public function string of_obtener_directorio (string nombre)
public function integer of_relative_path ()
end prototypes

public function integer of_cambiar_directorio (string directorio);// Recive un path y lo pone como directorio actual

int li_result 

li_result = ChangeDirectory(directorio)

IF li_result = -1 THEN
	messagebox('Error ','No se encuentra el directorio ' + &
				  '~n~rInforme al administrador del sistema.')
	RETURN -1
ELSE
	is_directorio_actual = directorio
   RETURN 1
END IF


end function

public function string of_ini (string nombre, string seccion, string linea);//Buscar el archivo *.ini pasado ,y una linea en una seccion 
//Devuelve la ruta completa del archivo

string ls_ini

ls_ini = ProfileString(nombre,seccion,linea,'error')

IF ls_ini = 'error' THEN
	messagebox('Error en archivo INI','No se encuentra el directorio de destino' + &
				  '~n~rInforme al administrador del sistema.')
	RETURN 'n'
ELSE
	RETURN is_directorio_actual+'\'+ ls_ini 
END IF



end function

public function string of_obtener_directorio (string nombre);// Recibe le nombre de una carpeta y devuelve la ruta completa de la misma
// Ejemplo: of_obtener_directorio("Util") 
// Devuelve: directorio-actual\util\ 

string ls_directorio

ls_directorio = is_directorio_actual+'\'+nombre+'\'

IF DirectoryExists (ls_directorio) THEN
   RETURN ls_directorio	
ELSE	
	messagebox('Error','No se encuentra el directorio ' + &
				  '~n~rInforme al administrador del sistema.')
	RETURN ' '
END IF
end function

public function integer of_relative_path ();return 1
end function

on uo_rutas.create
call super::create
TriggerEvent( this, "constructor" )
end on

on uo_rutas.destroy
TriggerEvent( this, "destructor" )
call super::destroy
end on

event constructor;// Se posiciona en el directorio actual de la aplicacion

is_directorio_actual = GetCurrentDirectory( )

ChangeDirectory (is_directorio_actual)
end event

